#ifndef PLAYER_SETTINGS_H_
#define PLAYER_SETTINGS_H_

#include "card/deck.h"
#include <fstream>
#include <string>
#include <vector>

#define EFFECT_LINE_COUNT 10

// KEYS //
#define KEY_PLAYER_NAME "player_name"
#define KEY_DECK_START "deck_start"
#define KEY_DECK_END "deck_end"
//////////

// DEFAULT VALUES //
#define DEFAULT_PLAYER_NAME "Player"
////////////////////

/**
* Stores player settings.
* 
* @author dfoelber
**/
class PlayerSettings
{
public:
	/**
	* Constructor
	**/
	PlayerSettings();
	
	/**
	* Deconstructor
	**/
	~PlayerSettings();
	
	/**
	* Loads player settings from a file.
	* 
	* @param filename The filename of the file
	* @return If the file was opened
	**/
	bool Load(string filename);
	
	/**
	* Gets the player name.
	**/
	string GetPlayerName();
	
	/**
	* Creates the player's deck.
	**/
	vector<CardInfo*> CreateDeck();
	
private:
	/// The player's name
	string					playerName;
	/// The deck data
	vector<string>			deckData;
};

#endif /*PLAYER_SETTINGS_H_*/
